package genetic;

public class LocalCrossover implements Crossover {

	//Modifica ambos individuos para serem uma mistura dos dois
	@Override
	public void crossover(Individual a, Individual b) {
		for (int i = 0; i < a.x.length; i++) {
			double delta = RandomUtils.between(0, Math.abs(a.x[i]-b.x[i]));
			double ax = a.x[i];
			double bx = b.x[i];
			if (Math.random() < 0.5)
				delta = -delta;
			a.x[i] = Math.min(ax,bx) + delta;
			b.x[i] = Math.max(ax,bx) - delta;
		}
	}

}
